2.0 Communication Procedure

> Communication proceeds as diagrammed below:

> 2.1 Connection Request/Connection Reply

> Before the actual data transfer begins, a connection confirmation pulse is sent back and forth to confirm that the IR communication module is operating normally.
> The receiving side receives the connection part of the signal. If it recognizes the connection pulse, it returns the same pulse back to the transmitting side. After that, the transmitting side determines whether the returned signal is a normal connection pulse. If the signal is not recognized to be a normal connection pulse, then communication will terminate.

> 2.2 Header

> The header transmits the 1-halfword (16 bit) sum total of the data class (8bit) + data transfer size (8bit).
> Communication will terminate if the data class is an unregistered illegal constant or if the data transfer size exceeds the permissible byte size of the receiving side.

> 2.3 Data

> The amount of data specified by the 8bit "data transfer size" part of the header is transmitted consecutively. The amount of data that can be transmitted consecutively is 0 ~ 255 halfwords.

> 2.4 Checksum

> This part transmits the checksum (1 halfword) calculated by the transmitting side.

> 2.5 Status

> The receiving side returns its communication status (1 halfword).

> Table of Communication Status Values

Status Value | State | Explanation
IR_NORMAL | Normal | No error occurred
IR_PULSE_ERR | Pulse error | An abnormal pulse was received
IR_SUM_ERR | Checksum error | The checksum value sent by the transmitting side was not equal to the checksum value calculated by the receiving side.
IR_BYTES_ERR | Byte error | The transfer request data byte size exceeded the byte size permitted by the receiving side.
IR_CODE_ERR | Code error | The data class is an unregistered illegal constant.